package han.yang.service.group.service;

import han.yang.common.ResponseVO;
import han.yang.service.group.model.dto.GroupMemberDto;
import han.yang.service.group.model.req.GetJoinedGroupReq;
import han.yang.service.group.model.req.ImportGroupMemberReq;
import han.yang.service.group.model.resp.GetRoleInGroupResp;

import java.util.Collection;
import java.util.List;

public interface ImGroupMemberService {
    ResponseVO<?> importGroupMember(ImportGroupMemberReq req);

    ResponseVO<GetRoleInGroupResp> getRoleInGroupOne(String groupId, String memberId, Integer appId);

    ResponseVO addGroupMember(String groupId, Integer appId, GroupMemberDto dto);

    ResponseVO<List<GroupMemberDto>> getGroupMember(String groupId, Integer appId);

    ResponseVO<Collection<String>> getMemberJoinedGroup(GetJoinedGroupReq req);

    ResponseVO transferGroupMember(String owner, String groupId, Integer appId);
}
